<?php
/**
 * Function:
 * Description:
 * Abo 2018/10/11 08:43
 * Email: abo2013@foxmail.com
 */

/**
$function，子进程创建成功后要执行的函数，如果希望更改执行的函数，可赋值新的函数到对象的callback属性
$redirect_stdin_stdout，重定向子进程的标准输入和输出。启用此选项后，在子进程内输出内容将写入到主进程管道。输入将从管道中读取数据。默认为阻塞读取。
$pipe_type，管道类型，启用$redirect_stdin_stdout后，此选项将忽略用户参数，强制为1。如果子进程内没有进程间通信，可以设置为 0
 */
$process = new swoole_process( function ( swoole_process $pro ) {
    // 子进程 执行外部程序

    $pro->exec(
    // 可执行文件的绝对路径
        "/Users/abo_o/Dev/NMP/php7/bin/php",
        // 参数列表，如 array('test.py', 123)，相当与python test.py 123
        [ __DIR__ . '/../server/http_server.php' ]
    ); // 执行匿名方法 外部方法
}, true );

$pid = $process->start();
echo $pid . PHP_EOL;

swoole_process::wait(); // 守护进程